﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Marin.Entities;
using Marin.Service;

namespace Marin.UI
{
    public partial class frmCuenta : Form
    {
         ICuentaService cuentaService;
         ICategoriaService catService;
        bool IsNew = true;
        public frmCuenta()
        {
            InitializeComponent();
            cuentaService = new CuentaService();
            catService = new CategoriaService();

            categoriaBindingSource.DataSource = catService.GetAllFromCategorrias();

        }

        public Cuenta cuenta { get; set; }

        public void UpdateCuenta()
        {
            IsNew = false;
            cuentaBindingSource.DataSource = cuenta;
        }

        public void AddCuenta()
        {
            cuentaBindingSource.AddNew();
        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            var cuenta = cuentaBindingSource.Current as Cuenta;
            
            if (cuenta!=null)
            {
                try
                {
                    if (IsNew)
                    {
                        
                        cuentaService.AddCuenta(cuenta);
                        MessageBox.Show("Cuenta Registrada");
                        Close();
                    }
                    else
                    {
                        cuentaService.UpdateCuenta(cuenta);
                        UpdateCuenta();
                        MessageBox.Show("Cuenta Actualizada");
                        Close();
                    }
                }
                catch (Exception ex)
                {

                    MessageBox.Show("Error" + ex);
                }
            }
        }
    }
}
